In communication systems where each subscriber unit executes one or more application software packages which share a communication device, means are necessary to provide centralized control of the shared device, to loosen coupling between communications functions and applications, to multiplex messages from applications to the device, and to route received messages to the appropriate application. Without such means, messages do not arrive at their intended destinations, either because they become "lost" (the recipient is not there to receive the message) or because they are "ambiguous" (the recipient cannot be identified). Under these conditions, applications malfunction and fail to interoperate.
Thus there is a significant need for communication programs that enable asynchronous communication between any of a plurality of software applications and a selected one of a variety of types of communication devices (e.g. RF modem, telephone modem, etc.).